package client;

import java.net.Socket;
import java.io.*;

public class Escritor {

    public static void main(String[] args) {

        Socket s = null;
        DataInputStream in;
        DataOutputStream out;
        
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        
        boolean continua = true;
        int contador = 0;
        int porta = 10000;
        String nome = args[0];
        String destinatario = "";
        String linha = "";
        String mensagem = "";

        while (!linha.equals("#")){

        System.out.print("TO: ");
        try{
            destinatario = reader.readLine();
        } catch (IOException e) {
        }
        
        System.out.println("MENSAGEM:");
        try{
            mensagem = reader.readLine();
        } catch (IOException e) {
        }

        try{
            linha = reader.readLine();
        } catch (IOException e) {
        }

        
        /* negociação dos parâmetros da conexão */
        try {
             s = new Socket("127.0.0.1",10001);
             porta = s.getLocalPort();
             s.close();                
        } catch (IOException e) {
        }
        
        /* tráfego de dados */
        try {
            s = new Socket("127.0.0.1", porta);
            in = new DataInputStream(s.getInputStream());
            out = new DataOutputStream(s.getOutputStream());
            
            out.writeUTF("SYN/Escritor");
            out.writeUTF("TO:" + nome);
            out.writeUTF("FROM:" + destinatario);
            out.writeUTF("MSG:" + mensagem);
            out.writeUTF("BYE:" + linha);

            System.out.println("Mensagem enviada ao servidor");


            if (linha.equals("#")){
                in.close();
                out.close();
                s.close();
            }

        } catch (IOException e) {

            System.out.println("Algum problema ocorreu ao criar ou enviar dados pelo socket.");
            System.out.println(e.toString());

        }
        }
    }
}

